#region Imports

using System;

#endregion

namespace IEC.ColumnOrdering.SP2007.Deployment
{

    /// <summary>
    /// Represents a SharePoint lookup field.
    /// </summary>
    public class LookupField : Field
    {

        #region Properties - Instance Member

        #region Properties - Instance Member - LookupField Members

        /// <summary>
        /// Gets the name of the parent list.
        /// </summary>
        /// <value>
        /// The name of the parent list.
        /// </value>
        public string ParentListName
        {
            get;
            private set;
        }

        /// <summary>
        /// Gets the name of the parent field.
        /// </summary>
        /// <value>
        /// The name of the parent field.
        /// </value>
        public string ParentFieldName
        {
            get;
            private set;
        }

        #endregion

        #endregion

        #region Methods - Instance Member

        #region Methods - Instance Member - LookupField Members

        #region Methods - Instance Member - LookupField Members - (constructors)

        /// <summary>
        /// Initializes a new instance of the LookupField class.
        /// </summary>
        /// <param name="name">
        /// The name of the field.
        /// </param>
        /// <param name="parentListName">
        /// The name of the parent list.
        /// </param>
        /// <param name="parentFieldName">
        /// The name of the parent field.
        /// </param>
        public LookupField(
            string name,
            string parentListName,
            string parentFieldName)
            : base(name)
        {
            this.ParentListName = parentListName;
            this.ParentFieldName = parentFieldName;
        }

        /// <summary>
        /// Initializes a new instance of the LookupField class.
        /// </summary>
        /// <param name="name">
        /// The name of the field.
        /// </param>
        /// <param name="parentListName">
        /// The name of the parent list.
        /// </param>
        public LookupField(
            string name,
            string parentListName)
            : base(name)
        {
            this.ParentListName = parentListName;
        }

        /// <summary>
        /// Initializes a new instance of the LookupField class.
        /// </summary>
        /// <param name="listName">
        /// The name of the list.
        /// </param>
        /// <param name="name">
        /// The name of the field.
        /// </param>
        /// <param name="parentListName">
        /// The name of the parent list.
        /// </param>
        /// <param name="parentFieldName">
        /// The name of the parent field.
        /// </param>
        public LookupField(
            string listName, 
            string name, 
            string parentListName, 
            string parentFieldName)
            : base(listName, name)
        {
            this.ParentListName = parentListName;
            this.ParentFieldName = parentFieldName;
        }

        #endregion

        #endregion

        #endregion

    }

}
